Re- Return to Phobos

← Zurück

Von CharlieChaplin an Dr. Irata, DrIrata

Hallo Peter,

wie du vielleicht weißt, erstelle ich die Abbuc Magazindiskette. Dein Spiel "Battle of Eris" habe ich zusammen mit vielen anderen Spielen auf eine Diskette kopiert. Da es eine Startadresse von $1000 hat, läuft es nicht unter DOS 2.x, weil es aber einen Highscore speichert läuft es auch nicht mit einem Gamedos. Du hast uDOS dafür benutzt.

Normalerweise liegt uDOS in den drei Bootsektoren einer Diskette, da ich aber noch viele weitere Spiele auf der Disk unterbringen muss, habe ich eine COMfile version von uDOS benutzt und diese dann einfach mit dem GameDOS NanoDOS geladen. Soweit so gut, dein Spiel lässt sich laden, es lädt und speichert auch den Highscore...

Zweimal habe ich es geschafft mich in den Highscore einzutragen, der Highscore wurde gespeichert und danach war jedesmal die Diskette "zerschossen". Das heißt, es wurden zwar noch die freien Sektoren, jedoch keinerlei Dateien mehr angezeigt und ich musste jedesmal die Diskette reparieren. Das will ich den Abbucianern natürlich nicht zumuten und so habe ich jetzt mal behelfsmäßig eine Version erstellt, die keine Highscore mehr speichern kann. (Code3 Cruncher zum packen verwendet, der lässt nach dem entpacken kein speichern mehr zu, NanoDOS direkt [ohne uDOS] verwendet, dies lädt nur Dateien und lässt auch kein speichern zu).

Auf diese Weise wird die Diskette nicht mehr zerschossen, aber man kann halt auch keine Highscore mehr abspeichern (das Programm versucht es zwar, es geht aber nicht). Natürlich ist das unbefriedigend, daher meine Fragen an dich:

1) Das Programm nutzt $1000-9FDA, RUN $6033; wird auch eine der Pages 1, 4, 5 oder 6 benutzt, ohne dass man das direkt sieht ? (Habe für den Packer Page 4 und 5 benutzt, das könnte dann ein Problem sein.)

2) Ist es nicht möglich das Programm $1000 höher zu schieben, also nach $2000-AFDA, RUN $7033 ? Dann würde es unter DOS 2.x laufen und man benötigt kein uDOS...

3) Wäre es möglich die Highscore nicht in eine Datei, sondern einfach in Sektor 720 ($2D0) zu speichern? Bei DOS 2.0s, DOS 2.5, DOS 2.0D und einigen anderen DOS 2.x ist dieser Sektor stets ungenutzt.

Ansonsten werde ich mal weiter nachforschen, warum dein Spiel bei mir stets die Diskette zerschießt, wenn es den Highscore speichert. Wenn ich aber keine Lösung finde, dann kann es durchaus sein, dass ich das Spiel in der von mir geänderten Version releasen muss - bei der eben keine Highscore gespeichert wird.

Gruß, Andreas Koch

P.S.: Ich muss dringend Platz sparen, die Programme des Wettbewerbs 2022 belegen ganze 6 Diskseiten. Dadurch muss ich mehrere Spiele auf einer Diskseite unterbringen und alles packen, was nur geht (ungepackte Länge von Battle of Eris ca. 295 Sektoren, gepackt mit Code3 Cruncher ca. 97 Sektoren - kein speichern mehr möglich, gepackt mit Exomizer ca. 81 Sektoren - speichern weiterhin möglich aber buggy).

Antworten

Hallo Andreas, das Programm ist tatsächlich so lang geworden, daß ich nicht weiter hochgehen kann. Sicherlich könnte man oben noch etwas Platz ausnutzen... aber bei allen Versuchen habe ich mir dann die PM/Grafik zerschossen. In Page0 nutze ich etliche Speicherstellen - vor allem die ganzen Fließkommaadressen vom Basic. Ich sende dir mal meine header.txt Datei, da sind die Speicheradressen drin, die das Programm braucht... vielleicht ist da irgendwo das Problem begraben. Ansonsten testen wir mal ein paar Dinge... vielleicht ist es nur eine Kleinigkeit. Wenn es für euch zu zeitkritisch wird wegen der Disketten, dann geht das Programm halt ohne Highscore raus und ich stelle später noch ein Release ins Netz wenn das behoben ist. Was für eine blöde und unangenehme Überraschung ... trotzdem vielen Dank für eure ganze Arbeit und Mühe! LG Peter

Antworten

Hallo Andreas, es könnte an der Definition der Variablen knapp unterhalb $1000 liegen - vielleicht macht das ein Problem mit dem HighScore... Ich habe das zusammen mit Janko analysiert und wir haben die Variablen auf Page6 umgelegt. Jetzt müsste eigentlich alles funktionieren... Anbei die .atr mit der Änderung! Viele Grüße Peter

BattleOfEris.ATR

Antworten

Danke Peter!

Es ist nun noch ein Programm für den Wettbewerb aufgetaucht, das bei Holger wohl im Spam-Ordner gelandet war. Da alle sechs Diskseiten schon randvoll sind, werde ich dafür eine siebte Diskseite benötigen. Und weil das ja sowieso vier Disketten sind, bin ich so böse einfach noch eine achte Seite zu verschwenden.

Meine Idee ist es dein Programm in der ursprünglichen oder der gerade geänderten Version UNGEPACKT auf die achte Seite mit uDOS draufzukopieren, ohne irgendwelche weiteren Programme. Dann sollte eigentlich alles fehlerfrei laufen.

Gruß, Andreas Koch

Antworten

Hallo Andreas, alles bestens! Ihr macht das super!! Aber auch toll, daß es so viele Programme gibt!! Gruß Peter

Antworten

Hallo Peter,

was soll ich sagen, ich habe deine geänderte Version geladen (ohne jegliche Änderung) und auf meinem Atari 800XL mit Speedy 1050 wird mir immer noch die Directory zerschossen, sobald gespeichert wird. Das Laufwerk läuft 3-4 mal an, was seltsam ist, da die Highscore ja nur einen Sektor lang ist und die Speedy einen 8KB Buffer hat. Danach hat die Directory keine Files mehr und es werden nur noch die freien Leersektoren angezeigt.

Ich gebe da jetzt erstmal auf und werde eine Version machen, die nicht speichert, damit die Directory erhalten bleibt und man das Programm auch mehrfach laden kann.

Bitte testet doch mal auf original Hardware. wenn es bei euch fehlerfrei läuft, liegt es ja vielleicht an meiner A8 Hardware ? Mein 800XL hat eine 512k Speichererweiterung von tf_hh, sonst nix weiter. die 1050 hat eine Speedy Erweiterung. Aber eigentlich sollte es daran nicht liegen...?

Gruß, Andreas Koch.

Antworten

Hallo Andreas, so ein Mist.... das tut mir auch echt leid, denn das macht allen nur Mehrarbeit. Wir haben alles wochenlang getestet und gerade das Abspeichern schien reibungslos zu funktionieren. Das Programm selber haben wir (Janko war mein kritischer Mittester) auf einer 130 XE Maschine getestet. Bei mir hat das Speichern funktioniert, allerdings habe ich als "Floppy" eine SD-Drive benutzt, da man damit so schön mit SD-Karte eine .atr simulieren kann. Damit gab es keine Probleme - wir testen nochmal ein paar Dinge heute Abend - zum speichern nutze ich immer Kanal 1 - vielleicht muss man das vorher abfragen, ob der überhaupt frei ist. Ihr werdet sicherlich jetzt zeitnah die Disketten fertig machen - falls wir den Fehler nun finden und ich das noch heute fixieren kann, dann sende ich dir nochmal eine neue .atr zu und wenn es noch zeitlich reicht, dann wäre es natürlich schön mit Highscore. Falls ich länger brauche oder ihr schon alles eingetütet habt, dann geht das Programm leider ohne Highscore speichern raus und dann kann man später vielleicht mal auf eine andere Diskette eine Bugfix aufspielen. Danke für all die Arbeit und Mühe... das Programm hat schon viel Arbeit gemacht, aber auf der anderen Seite ist es ja nicht kommerziell und soll einfach nur Spass machen und das tut es auch ohne Highscore. Bei 16 eingereichten Programmen dieses Jahr rechne ich mir auch keine höhere Platzierung aus.. ohne die Programme zu kennen (außer Schränken 1+2 als Tester) erscheint mir das Level extrem hoch... was ja super ist ;-) Ich hatte viel Spaß beim programmieren und habe viel gelernt. Und Teil 2 entsteht ja gerade! Dir ein schönes WE - sieht man sich auf der Fuji??

Beste Grüße Peter

Antworten

Hallo Andreas, ich schicke dir in ca. 2 Stunden nochmal eine neue Version, hoffentlich mit dem Bugfix! Hier wird jetzt vor dem Schreiben des Highscores der CIO-Kanal geprüft, ob er frei und verfügbar ist... ich hoffe das beseitigt das Problem. Ich kann das heute Abend aber nur rudimentär testen, da wir Besuch bekommen. Du kennst den Fehler am besten und wirst wohl sofort sehen, ob es jetzt einwandfrei läuft... Vielen Dank Gruß Peter

Antworten

Hallo Peter,

Pokey ist für SIO und für Musik zuständig! Bei mir ist es so, dass in der Highscore-Tabelle immer die Musik läuft und wenn gespeichert wird, klingt die total zerhackt, läuft aber weiter. Ich vermute mal, das könnte das Problem sein, Musik während dem abspeichern auf Diskette. Vielleicht muss man die Musik für die Zeitdauer des Abspeicherns unterbrechen und erst danach wieder weiterlaufen lassen -oder- man schaltet die beim Abspeichern komplett ab und danach beginnt die Musik wieder von vorne ?

Beim Laden macht Musik übrigens auch Probleme, mehr als 2 Tonkanäle können während dem Laden nicht genutzt werden. Denke mal, beim abspeichern ist es dann genauso. Schau doch mal mit einer 1050 (sofern vorhanden) nach, ob das vielleicht die Lösung für das Problem sein könnte.


Bugreport (bitte nicht killen!)

  • des Öfteren kann man Löcher in die Landschaft bzw. in die Wände schießen, aber nicht immer
  • hin- und wieder kann man durch die Wände hindurch fliegen (Ergebnis: a) man explodiert direkt, b) man explodiert gar nicht, c) man explodiert nach ca. 1-2 Sekunden oder wenn man die Wand eigentlich wieder verlassen hat)
  • wenn man am Ende eines Levels oder Abschnitts drauf geht, wird fast immer beim nächsten Level oder Abschnitt begonnen (okay, das ist eigentlich gut und sorgt für weniger Frust)
  • wenn man in der Highscore direkt den Feuerknopf drückt ohne was einzugeben, geht gar nix mehr (hat Holger berichtet, den Bug habe ich nicht gefunden!)
  • nach dem Abspeichern wird zumeist die Directory gelöscht (jedoch nicht die VTOC, so dass die Leersektoren noch angezeigt werden, jedoch keienrlei Dateien)
  • nach dem Abspeichern dauert es oft 1-2 Minuten, bis man wieder ins Titelbild kommt und die Musik klingt total schräg und zerhackt

Das war so ziemlich alles, was ich gefunden habe.

Gruß, Andreas Koch

Antworten

... oh Mann ... was man noch so alles findet... Das mit der Landschaft kenne ich und ja, das liegt an der Kollisionserkennung. Passiert immer dann, wenn Landschaft quasi nicht mit dem gelben Rand begrenzt ist. Teilweise liegt es auch daran, daß ich drei unterschiedliche Scrollteile nutze - die Zwischenlevel mit den kleinen Raumschiffen haben da immer wieder auch Probleme bereitet, ich wollte die aber unbedingt drin lassen.

Richtig blöd ist das mit dem Abspeichern... das habe ich am Ende noch reingecodet, weil ich einen Highscore cool fand... lief auch stabil, dachte ich. Dass man so lange braucht nach dem Abspeichern ist mir nicht passiert... komisch. Ich werde beim Speichern die Musik ausschalten und danach erst wieder anschalten... vielleicht behebt das das Problem dann. Gruß Peter

Antworten

BattleOfEris.ATR

Hallo Andreas, das hat jetzt länger gedauert, aber mein Arbeitstag war lang und ich hatte nicht viel Zeit... auch die Konzentration schwindet so langsam. Ich habe jetzt eine Prüfroutine drin, die überprüft ob ein Kanal frei ist - das sollte einen möglichen Konfikt mit der Soundengine lösen... die alte Version der Soundengine von Janko lässt sich nicht so einfach abschalten, da sie im DLI läuft und ich den auch dann immer ab- und anschalten muss... da kommt der ganze Sound in Unordnung.

Dass das Spiel hängt nach dem Highscore-Eintrag ist bei mir nicht aufgefallen... auch ließ sich das Spiel normal weiterspielen und der Sound war ok...

Die anderen Bugs sind entweder gewollt oder in Kauf genommen...

Das Spiel ist komplex, ein Scrollshooter ist sicherlich. nicht das ganz einfache Startprojekt - immerhin mein Erstlingswerk. Berücksichtigt man die Komplexität und den Gesamtumfang, finde ich es durchaus recht gelungen. Es ist eigentlich schön spielbar - nicht perfekt vielleicht, aber welche komplexen Spiele sind das schon. Das mit dem Highscore ist natürlich blöd und ich hoffe, dass es jetzt geht.. wenn diesmal auch nicht, dann muss man den echt erstmal abschalten was aber schade wäre.

Ich konnte das heute nicht mehr am nativen A8 testen und hoffe aber, daß es jetzt geht...

Liebe Grüße Peter

Antworten

... so nun doch noch die hoffentlich finale Version - während des Speicherns wird jetzt der DLI abgeschaltet und danach wieder eingeschaltet... ich hoffe das löst nun wirklich das Problem. Gruß Peter

BattleOfEris.ATR

Antworten

Hallo Peter,

ich habe dir zwischenzeitlich eine E-Mail mit ATR-Anhängen geschickt. Diese beziehen sich aber alle auf die Version von 22.45 Uhr, die weiterhin nicht funktionierte bzw. weiterhin die Directory löschte.

Ich werde die neuere Version (von 23.22 Uhr) gleich mal austesten und hoffe, dass die nun endlich geht. Ansonsten mache ich halt die Notlösung mit DOS2XL, bei dem kein Abspeichern möglich ist (warum auch immer), dafür aber die Directory erhalten bleibt.

Gruß, Andreas Koch.

Antworten

Hurra!

Die letzte Version von 23.22 Uhr speichert ohne die Directory zu löschen! Es klappt nun also endlich, wie es soll. Habe daher uDOS und das Spiel auf eine 130k Disk kopiert (bzw. initialisiert) und zwar so, dass man auch speichern kann.

Einen Bug-Hinweis habe ich aber noch (siehe Bild!), am Ende des ersten Abschnittes steht ein weißes Ding auf einer Mauer. Das weiße Ding kann ich abschießen, nicht jedoch die gelbgrüne Mauer. Man kann der Mauer auch nicht ausweichen und geht daran stets kaputt. Rechts scheint etwas aus dem Screen herauszuragen oder an einer Stelle zu sein, wo es nicht wirklich hingehört. Vielleicht schaust du dir das mal an, ob man das fixen kann...

BatEris.jpg

Antworten

Hi Andreas, ich bin echt froh, dass das jetzt funktioniert… mir wären jetzt echt auch die Optionen ausgegangen… man muss den Sound und den DLI abschalten!! Puh!

Der Bug ist kein Bug, das ist etwas fies aber gewollt… eine kleine Falle quasi… man kommt nur links vorbei!! Etwas weiter unten gibt es eine ähnliche Passage wo man nur in der Mitte vorbeikommt. Auch später bei der großen Mauer sollte man eher sich links halten und beim Labyrinth eher rechts… aber nicht weitersagen 😉 Da kommen noch Energieschranken und Laufbarrieren und der Endgegner… man muss schon etwas spielen und viel üben, um alles zu schaffen… ich bin aber bis zum Endgegner gekommen und habe ihn auch besiegt ( man muss ihn 3x treffen) - es ist schwer aber machbar! Ihr seid echt super!! Vielen Dank für die viele Arbeit !! Sehen wir uns auf der Fuji?? LG Peter

Antworten

Hallo Peter,

zur Fuji muss ich mind. 6 Stunden fahren, das ist mir mittlerweile zu weit. Bin einige Jahre auf der davor-Veranstaltung, namens Schreiersgrün gewesen, auch als Aussteller / Verkäufer. Da mir und meinem Kumpel Torsten dort aber Atari Sachen geklaut wurden, sind wir nicht mehr hingefahren.

Vor einigen Jahren war ich mal auf der Fuji und weil die Fahrt so lange ist, habe ich da auch in der Halle übernachtet. Großer Fehler! Die ganze Nacht über liefen die Computer und Konsolen weiter und es gab endlose Pieps, Pfeif, Brumm und sonstige Geräusche. Bin zwar irgendwann eingeschlafen, dafür hatte ich am nächsten Morgen einen richtigen Brummschädel und heftige Kopfschmerzen, so dass ich gleich nach dem Aufstehen heim gefahren bin. Seither bin ich auch nicht mehr dort gewesen, denn ohne Übernachtung ist mir die Hin- und Rückfahrt (2x6 = 12 Stunden) einfach zu lang.

Gruß, Andreas Koch

Antworten